#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
创建包含图像的PDF文件用于测试
"""

import fitz  # PyMuPDF
from PIL import Image, ImageDraw
import os

def create_test_image():
    """创建一个测试图像"""
    # 创建一个简单的彩色图像
    img = Image.new('RGB', (400, 300), color=(73, 109, 137))
    d = ImageDraw.Draw(img)
    d.text((10, 10), "This is a test image for PDF compression", fill=(255, 255, 0))
    d.rectangle([50, 50, 200, 200], outline=(255, 0, 0), width=3)
    img.save("test_files/test_image.png")
    return "test_files/test_image.png"

def create_pdf_with_image(image_path, pdf_path):
    """创建包含图像的PDF文件"""
    # 创建一个新的PDF文档
    doc = fitz.open()
    
    # 添加一个页面
    page = doc.new_page()
    
    # 插入图像到PDF
    page.insert_image(page.rect, filename=image_path)
    
    # 保存PDF文件
    doc.save(pdf_path)
    doc.close()
    print(f"已创建PDF文件: {pdf_path}")

def main():
    # 创建测试目录
    if not os.path.exists("test_files"):
        os.makedirs("test_files")
    
    # 创建测试图像
    image_path = create_test_image()
    print(f"已创建测试图像: {image_path}")
    
    # 创建包含图像的PDF文件
    pdf_path = "test_files/image_sample.pdf"
    create_pdf_with_image(image_path, pdf_path)

if __name__ == "__main__":
    main()